#include <iostream>
#include "HttpParser.h"
#include "Precompilador.h"

int main(int argc, char** argv) {
	int codigoSalida = EXIT_FAILURE;
	// Recibo y parseo los datos enviados según http
	HttpParser httpParser;
	std::string codigoRecepcion = httpParser.recibirMsjHttp();

	// Imprimo encabezado con el estado del parseo correspondiente
	httpParser.emitirEncabezadoRtaHttpCgi(std::cout, TIPO_CONTENIDO_HTML,
			CHARSET_UTF8, codigoRecepcion);

	// Verifico que el parseo se haya realizado exitosamente
	if(httpParser.getValidezStatusHttp(codigoRecepcion)) {
		// Obtengo el nombre del archivo seleccionado en el primer campo
		std::string nombArchivo = httpParser.getValorVariable("fileName1");

		std::cout << "<html><head><title>CGI Script TP1</title></head><body>";
		if(!nombArchivo.empty()) {
			// Precompilo el archivo en el primer campo
			Precompilador pre(httpParser);
			if(pre.precompilarArchivo(nombArchivo))
				codigoSalida = EXIT_SUCCESS;
		} else {
			std::cout << "<p>Debe seleccionar un archivo en el primer campo\n";
		}
		// Creo un boton para volver a la página de inicio
		std::cout << "<form><input type=\"button\" value=\"Inicio\" "
				"onclick=\"window.location.href='../tp.html'\"></form>";
		// Finalizo el html
		std::cout << "</body></html>";
	}
	return codigoSalida;
}
